package com.xmy.erp.entity;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 班级
 * </p>
 *
 * @author hpiggy
 * @since 2023-09-09
 */
@ApiModel(value = "Grade对象", description = "班级")
public class Grade implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("校区id")
    private Long schoolId;

    @ApiModelProperty("课程id")
    private Long courseId;

    @ApiModelProperty("班级类别(即班型，对应类别表id)")
    private Long courseTypeId;

    @ApiModelProperty("年级")
    private Integer yearClassId;

    @ApiModelProperty("班级名称")
    private String name;

    @ApiModelProperty("满班人数")
    private Integer fullCount;

    @ApiModelProperty("每次上课学生扣除课时")
    private Integer stuDeductHour;

    @ApiModelProperty("每次上课老师获得课时")
    private Integer teaGainHour;

    @ApiModelProperty("招生状态（开放，满班停止，停止）对应字典表")
    private Integer recruitStatus;

    @ApiModelProperty("开班日期")
    private LocalDate openDate;

    @ApiModelProperty("结班日期")
    private LocalDate endDate;

    @ApiModelProperty("上课时段开始")
    private String timeStart;

    @ApiModelProperty("上课时段结束")
    private String timeEnd;

    @ApiModelProperty("是否假期，0否，1是（假期指的是：寒假、暑假）")
    private Integer isVacation;

    @ApiModelProperty("周几上课，如周一：1,周二：2,周三：3,周四：4,周五：5,周六：6,周日：0")
    private String weekDates;

    @ApiModelProperty("排课类型，如：学期：A类，B类，假期：A天，B天")
    private String schedulingType;

    @ApiModelProperty("教室id")
    private Long classRoomId;

    @ApiModelProperty("状态：1正常，2结班")
    private Integer status;

    @ApiModelProperty("班主任")
    private Long classTeacherId;

    @ApiModelProperty("任课教师id（任课老师）")
    private Long teacherId;

    @ApiModelProperty("助教教师id")
    private Long helpTeacherId;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("创建人id")
    private Long createdId;

    private Integer deleted;

    @ApiModelProperty("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty("deleted_at")
    private LocalDateTime deletedAt;

    @ApiModelProperty("年份")
    private Integer yearPart;

    @ApiModelProperty("季度")
    private Integer quarterNum;

    @ApiModelProperty("是否排班")
    private Integer isScheduling;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }
    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }
    public Long getCourseTypeId() {
        return courseTypeId;
    }

    public void setCourseTypeId(Long courseTypeId) {
        this.courseTypeId = courseTypeId;
    }
    public Integer getYearClassId() {
        return yearClassId;
    }

    public void setYearClassId(Integer yearClassId) {
        this.yearClassId = yearClassId;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public Integer getFullCount() {
        return fullCount;
    }

    public void setFullCount(Integer fullCount) {
        this.fullCount = fullCount;
    }
    public Integer getStuDeductHour() {
        return stuDeductHour;
    }

    public void setStuDeductHour(Integer stuDeductHour) {
        this.stuDeductHour = stuDeductHour;
    }
    public Integer getTeaGainHour() {
        return teaGainHour;
    }

    public void setTeaGainHour(Integer teaGainHour) {
        this.teaGainHour = teaGainHour;
    }
    public Integer getRecruitStatus() {
        return recruitStatus;
    }

    public void setRecruitStatus(Integer recruitStatus) {
        this.recruitStatus = recruitStatus;
    }
    public LocalDate getOpenDate() {
        return openDate;
    }

    public void setOpenDate(LocalDate openDate) {
        this.openDate = openDate;
    }
    public LocalDate getEndDate() {
        return endDate;
    }

    public void setEndDate(LocalDate endDate) {
        this.endDate = endDate;
    }
    public String getTimeStart() {
        return timeStart;
    }

    public void setTimeStart(String timeStart) {
        this.timeStart = timeStart;
    }
    public String getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(String timeEnd) {
        this.timeEnd = timeEnd;
    }
    public Integer getIsVacation() {
        return isVacation;
    }

    public void setIsVacation(Integer isVacation) {
        this.isVacation = isVacation;
    }
    public String getWeekDates() {
        return weekDates;
    }

    public void setWeekDates(String weekDates) {
        this.weekDates = weekDates;
    }
    public String getSchedulingType() {
        return schedulingType;
    }

    public void setSchedulingType(String schedulingType) {
        this.schedulingType = schedulingType;
    }
    public Long getClassRoomId() {
        return classRoomId;
    }

    public void setClassRoomId(Long classRoomId) {
        this.classRoomId = classRoomId;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Long getClassTeacherId() {
        return classTeacherId;
    }

    public void setClassTeacherId(Long classTeacherId) {
        this.classTeacherId = classTeacherId;
    }
    public Long getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(Long teacherId) {
        this.teacherId = teacherId;
    }
    public Long getHelpTeacherId() {
        return helpTeacherId;
    }

    public void setHelpTeacherId(Long helpTeacherId) {
        this.helpTeacherId = helpTeacherId;
    }
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Long getCreatedId() {
        return createdId;
    }

    public void setCreatedId(Long createdId) {
        this.createdId = createdId;
    }
    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }
    public LocalDateTime getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(LocalDateTime deletedAt) {
        this.deletedAt = deletedAt;
    }
    public Integer getYearPart() {
        return yearPart;
    }

    public void setYearPart(Integer yearPart) {
        this.yearPart = yearPart;
    }
    public Integer getQuarterNum() {
        return quarterNum;
    }

    public void setQuarterNum(Integer quarterNum) {
        this.quarterNum = quarterNum;
    }
    public Integer getIsScheduling() {
        return isScheduling;
    }

    public void setIsScheduling(Integer isScheduling) {
        this.isScheduling = isScheduling;
    }

    @Override
    public String toString() {
        return "Grade{" +
            "id=" + id +
            ", schoolId=" + schoolId +
            ", courseId=" + courseId +
            ", courseTypeId=" + courseTypeId +
            ", yearClassId=" + yearClassId +
            ", name=" + name +
            ", fullCount=" + fullCount +
            ", stuDeductHour=" + stuDeductHour +
            ", teaGainHour=" + teaGainHour +
            ", recruitStatus=" + recruitStatus +
            ", openDate=" + openDate +
            ", endDate=" + endDate +
            ", timeStart=" + timeStart +
            ", timeEnd=" + timeEnd +
            ", isVacation=" + isVacation +
            ", weekDates=" + weekDates +
            ", schedulingType=" + schedulingType +
            ", classRoomId=" + classRoomId +
            ", status=" + status +
            ", classTeacherId=" + classTeacherId +
            ", teacherId=" + teacherId +
            ", helpTeacherId=" + helpTeacherId +
            ", remark=" + remark +
            ", createdId=" + createdId +
            ", deleted=" + deleted +
            ", createdAt=" + createdAt +
            ", updatedAt=" + updatedAt +
            ", deletedAt=" + deletedAt +
            ", yearPart=" + yearPart +
            ", quarterNum=" + quarterNum +
            ", isScheduling=" + isScheduling +
        "}";
    }
}
